پردازش ابری (cloud computing) چیست؟
مقدمه:
دنیای فنآوری اطلاعات روزبهروز در حال گسترش است. از زمانی که رایانهها وارد زندگی بشر شدند، حدود ۷۰ سال میگذرد. در طول این سالها عطش پیشرفت، باعث بوجود آمدن فنآوریهای جدید شده است. همچنین از زمانی که اینترنت به صورت کامل شده در اختیار کاربران قرار گرفته است نزدیک به ۴۰ سال میگذرد. اینترنت تحولی شگرف در تبادل اطلاعات بوجود آورده است. البته در آن زمان کسی به این فکر نمیکرد که روزی از اینترنت علاوه بر تبادل اطلاعات بتوان به عنوان یک سیستم پردازشی قوی استفاده کرد. اما امروزه بسیاری از پردازشها توسط سرورها انجام میشود. در ادامه با مفهوم پردازش ابری آشنا میشویم. با ما همراه باشید.…
پردازش ابری چیست؟
بنا به تعریف موسسهی ملی فناوری و استاندارد(NIST)، پردازش ابری یا Cloud Computing به صورت زیر تعریف میشود:« پردازش ابری مدلی ست برای داشتن دسترسی فراگیر، آسان و بنا به سفارش شبکه به مجموعهای از منابع پردازشی پیکرهبندی پذیر ( مثل: شبکهها، سرورها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها) که بتوانند با کمترین کار و زحمت یا نیاز به دخالت فراهم کنندهی سرویس به سرعت فراهم شود.»
تعریف فوق که کمی سنگین به نظر میرسد، مفهومی خیلی ساده دارد. به بیان عامیانه، استفاده از برنامههای تحت وب که توسط یک سرویس دهنده ارائه میشود پردازش ابری نامیده میشود. به عنوان مثال وقتی که شما با استفاده از Google Docs یک سند در قالب Word, Excel, Power Point و … تنظیم میکنید؛ در حقیقت از پردازش ابری استفاده کردهاید که سرویس دهندهی آن شرکت Google میباشد. در شرایط فعلی، داده ها و ابزارها درون کامپیوترها تولید و استفاده می شوند. اما در پردازش ابری دیگر نیازی به وجود نرم افزار نیست، زیرا پردازش اطلاعات از طریق کامپیوترهای اصلی در محیط شبکه انجام می شود. از سوی دیگر نیازی به سخت افزار قدرتمند هم وجود ندارد و رایانه ها می توانند به راحتی از خروجی کامپیوترهای اصلی استفاده کنند. در این شرایط دیگر اهمیت ندارد که با یک رایانه قوی کار می کنید یا از طریق گوشی تلفن همراه قصد استفاده از این اطلاعات را دارید. تنها موضوع ضروری، نرم افزار واسطه یا رابط است که از طریق آن بتوان به شبکه و کامپیوترهای اصلی وصل شد و توان سخت افزاری نیز در حد اجرای همین نرم افزار واسطه خواهد بود.
بنابراین در پردازش ابری اطلاعات یا ابزارها درون کامپیوتر افراد قرار نمی گیرند و نیازی هم به حمل و جابه جایی آنها وجود ندارد. پس بطور خلاصه می توان گفت در این مدل، سه قسمت اصلی مورد توجه است: نخست وسیله ای که بتوان نرم افزار واسط را اجرا کرد، دوم ارتباط با سرور (Server) یا کامپیوترهای اصلی و سوم هم رایانه ای که بتواند این اطلاعات را در خود ذخیره کرده و توان پردازش آنها را داشته باشد. نرم افزارهای واسطه برنامه های ویژه ای نیستند و در اغلب مواقع همین برنامه هایی که برای اتصال به اینترنت استفاده می شوند نقش رابط را دارند. از میان این برنامه ها می توان به اینترنت اکسپلورر، فایرفاکس، گوگل کروم، اپرا و بسیاری دیگر اشاره کرد که از نرم افزارهای ابتدایی موجود در هر سیستم هستند. بخش دوم یا شیوه ارتباط میان دو کامپیوتر نیز از طریق شبکه برقرار می شود. این شبکه می تواند یک شبکه داخلی باشد که درون یک سازمان استفاده می شود و یا شبکه ای به بزرگی اینترنت که از سراسر دنیا می توان از آن استفاده کرد.
کیفیت این ارتباط نیز با توجه به کارآیی مورد انتظار تعیین می شود. به عنوان مثال زمانی می خواهید از نرم افزار ویرایش متن مثل آفیس استفاده کنید پس فایل های متنی با حجم کم باید منتقل شوند و یک ارتباط کم سرعت نیز می تواند کافی باشد. اما زمانی هم می خواهید بازی کنید یا فیلم ببینید. در نتیجه احتیاج به پهنای باند بیشتری خواهید داشت. ضمن اینکه این ارتباط باید امن باشد و امکان نفوذ و اختلال در آن کنترل شود. پایداری و تداوم استفاده نیز از دیگر شرایط این ارتباط هستند. بخش سوم این مدل را سرورها یا کامپیوترهای اصلی تشکیل می دهند. این کامپیوترها باید توان سخت افزاری بالایی داشته باشند، زیرا ممکن است چندین کاربر به صورت همزمان به آنها متصل شوند و هر کدام نیز تقاضای متفاوتی داشته باشند. یکی به دنبال تصاویر و ویرایش آنها است و دیگری نیز قصد دارد از طریق آنتی ویروس های سرور، دستگاه خود را پاکسازی کند.
تاریخچهی پردازش ابری
مفاهیم ابتدایی پردازش ابری به دههی ۱۹۶۰ میلادی برمیگردد. این مفهوم که توسط John McCarthy از بنیانگذاران هوش مصنوعی ارائه شد؛ بعدها مورد بررسی بیشتری قرار گرفت. ایده ی پردازش ابری همان تکامل یافته ی پردازش موازی، پردازش توزیع شده و پردازش شبکه ای است.اما پردازش ابری به صورتی که در حال حاضر آن را میشناسیم و در اختیار همگان قرار گرفته از سال ۲۰۰۶ توسط سایت آمازون انجام شده است. این سایت در سال ۲۰۰۶ امکان دسترسی به سیستم خود را از طریق وب سرویسهای آمازون بر پایهی پردازش ابری ارائه کرد.یک سال بعد یعنی سال ۲۰۰۷، گوگل و IBM پروژهای در مقیاس بزرگ در زمینهی پردازش ابری آغاز کردند.
ویژگی های کلیدی پردازش ابری
در حال حاضر یک تعریف، مشخصات یا استاندارد خاصی برای پردازش ابری وجود ندارد و زمان لازم است که به تدریج و با اجرای نمونه های متعدد بتوان ویژگی هایی برای آن تعریف نمود. طبق کار های انجام شده در زمینه ی ارایه ی سرویس ها و طراحی پروژه ها دو تکنولوژی زیر نقش اساسی را در تحول پردازش ابری خواهند داشت:
تکنولوژی مجازی سازی (Virtualization)
به کمک این تکنولوژی از سیستم عامل، میان افزار یا نرم افزار واسط (middle ware) و برنامه ی کاربردی یک کپی عینی می گیریم و به صورت پیش ساخته در یک کامپیوتر فیزیکی یا بخشی از یک سرور قرار می دهیم. در عین حال امکان استفاده ی چند باره از یک مجوز استفاده سیستم عامل، میان افزار و برنامه ی کاربردی به هنگام استفاده از آن به صورت پردازش ابری خواهد بود. یعنی یک بار هزینه خرید نرم افزار را می پردازیم و در ماشین مجازی چند بار از آن استفاده می کنیم.
معماری مبتنی بر سرویس (Service Oriented Architecture (SOA) )
معماری مبتنی بر سرویس در واقع یک مجموعه ای از سرویس ها است که با یکدیگر ارتباط برقرار می کنند. حین این ارتباط ممکن است داده هایی را بین یکدیگر منتقل کنند و همچنین ترکیب دو یا چند سرویس با هم یک کار انجام دهد. در این جا چند مفهوم اتصال بین سرویس ها مورد نیاز است. بر خلاف دهه های گذشته که نرم افزار ها قائم به خود و انفرادی بودند، در حال حاضر روند تکامل نرم افزار ها به سوی معماری مبتنی بر سرویس می رود. رشد انفجاری تکنولوژی های اینترنت و تعداد کاربران آن موجب شده که فروش نرم افزار جای خودش را به اجاره ی نرم افزار بدهد. کمپانی های بزرگی مانند مایکروسافت، گوگل، سان و حتی آمازون به این سمت می روند که به جای فروش مستقیم نرم افزار به کاربر خدمات نرم افزاری را به وی ارایه دهند. معماری مبتنی بر سرویس معماری نرم افزار یا سیستمی است که امکاناتی چون کامپوننت ها، استفاده ی مجدد، توسعه پذیری و راحتی را در اختیار ما قرار می دهد. این ویژگی ها برای کمپانی هایی که به دنبال کاهش هزینه هستند و به جای فروش به اجاره ی سرویس های نرم افزار تأکید دارند، الزامی است.
شکل ۲: سرویس هایی که در محیط پردازش ابری در دسترس هستند
معماری لایه های پردازش ابری
پردازش ابری می تواند در هر کدام از لایه های سنتی سخت افزار و نرم افزار دیده شود. اغلب ارایه دهنده گان سرویس های پردازش ابری سرویس هایی را می دهند که در چند لایه ی معماری سیستم رده بندی شوند و گاهی اوقات روش های مشخص پردازش ابری مانند سرویس زیر ساختی (IaaS) ، پلتفرمی (PaaS) و نرم افزاری (SaaS) ارایه می دهند.
شکل ۳: معماری لایه های پردازش ابری
سرویس نرم افزاری (SaaS)
سرویس نرم افزاری یک برنامه ی کاربردی کامل است که به درخواست کاربر ارایه می شود. یک پردازش منفرد از یک نرم افزار در محیط ابر اجرا می شود و به چندین کاربر نهایی، یا سازمان های مشتری سرویس می دهد. مثال های خوبی از این شیوه را می توانید در salesforce.com، Gmail، Google Calendar، Payroll، HR، CRM، Sugram CRM، IBM Lotus Live می توانید ببینید که مثال های دیگری در سرویس های ایمیل یا واژه پرداز های آنلاین وجود دارند.
کمپانی های زیر اختصاصا برای تجارت SaaS تأسیس شده اند که در قبال ثبت نام کاربران خود مبلغی را به عنوان شارژ دریافت می کنند و نرم افزار های آن ها در سرور های مرکزی شان نصب شده است و کاربران از طریق اینترنت به برنامه دسترسی پیدا می کنند.
۵٫۱٫۱٫ Salesforce.com
5.1.2. Google
5.1.3. NetSuite
5.1.4. Taleo
5.1.5. Concur Technologies
سرویس پلتفرمی (PaaS)
این سرویس یک لایه ی نرم افزاری را به صورت بسته ارایه می دهد که می توان از آن برای تولید سرویس های سطح بالاتر استفاده نمود. سرویس پلتفرمی شامل میان افزار، امکانات تجمیع (Integration)، تبادل پیغام (Messaging)، اطلاعات (Information) و تنظیم اتصال (Connectivity setup) می باشد. یک مثال خوب می تواند موتور تولید نرم افزار Google Apps باشد که امکان اجرای برنامه های کاربردی توسط زیر ساخت گوگل را فراهم می آورد. سرویس های پلتفرمی مانند این می توانند امکانات پایه ای قدرتمندی را برای توسعه ی نرم افزار های کاربردی در اختیار ما قرار بدهند و صد البته این امکاناتی که در اختیار توسعه دهنده قرار می گیرد توسط سرویس دهنده می تواند محدود گردد برای مثال برنامه ای که با موتور Google Apps تولید کنیم در نهایت در اختیار گوگل است و ما نمی توانیم امکاناتی فرا تر از آن چه گوگل در این موتور (بسته) قرار داده است در دسترس کاربر نهایی قرار دهیم. کمپانی های زیر پلتفرم هایی را توسعه داده اند که به کاربر نهایی امکان می دهد برنامه ها را از طریق سرور های مرکزی توسط اینترنت اجرا کنند. جلوی نام هر کمپانی نام پلاتفرم آن نیز نوشته شده است.
۵٫۲٫۱٫ Google ? Apps Engine
5.2.2. Amazon.com ? EC2 and S3
5.2.3. Microsoft ? Windows Live
5.2.4. Terremark Worldwide ? The Enterprise Cloud
5.2.5. Salesforce.com ? Force.com
5.2.6. NetSuite ? Suiteflex
5.2.7. Mosso ? Mosso, a division of Rackspace
5.2.8. Metrisoft ? Metrisoft SaaS Platform
سرویس زیر ساختی (IaaS)
سرویس زیر ساختی امکانات ذخیره سازی و پردازشی را به صورت سرویس های استاندارد در شبکه به ما می دهد. سرور ها، سیستم های ذخیره سازی، سوئیچ ها، روتر ها و سیستم های دیگر به صورت مجموعه ای، پردازش های متنوعی از کامپوننت گرفته تا یک برنامه ی کاربردی محاسبات پیچیده را مدیریت می کنند. مثال های این نوع سرویس ها شامل IBM Blue haouse، VMWare، Amazon EC2، Microsoft Azure Platform، Sun Parascale و … هستند. در زیر نام های دیگری را می بینید:
۵٫۳٫۱٫ Google ? Managed hosting, development environment
5.3.2. International Business Machines (IBM) ? Managed hosting
5.3.3. SAVVIS ? Managed hosting
5.3.4. Terremark Worldwide ? Managed hosting
5.3.5. Amazon.com ? Cloud storage
مرزبندی بین حالت های پردازش ابری
مرز بندی بین پردازش های ابری به ۳ دسته منتهی می شود. ابر عمومی، خصوصی و مرکب یا هیبریدی. (شکل ۴)
شکل ۴: مرز بندی حالت های پردازش ابری
ابر عمومی
حالت باز برای دسترسی عموم. حفاظت شده توسط فایروال و کاملا توسط کمپانی ارایه دهنده میزبانی و مدیریت می شود. کاربران شخصی، شرکت ها و … می توانند به آن دسترسی پیدا کنند. Amazon’s Web Services و Google App engine مثال های خوبی برای این حالت هستند.
ابر خصوصی
در محدوده ی (فایروال) یک سازمان کار می کند و تمامی امکانات حالت عمومی را دارد با یک تفاوت عمده. تفاوت این است که سازمان یا شرکت استفاده کننده خودش آن را مدیریت و منابع مورد استفاده را کنترل می نماید. از آن جا که به صورت داخلی استفاده می شود امنیت بیشتری دارد. در مقایسه با حالت عمومی نیاز به سرمایه گذاری سخت افزار و همچنین استخدام نیروی متخصص در داخل سازمان دارد و در نتیجه هزینه ی بیشتری نسبت به حالت عمومی خواهد داشت.
ابر هیبریدی
به صورت ترکیبی از حالت عمومی و خصوصی است ولی همچنان فایروال را برای تفکیک دو فضا استفاده می نماید.
مزایای فنآوری پردازش ابری
- به لحاظ اقتصادی
۱- کاربران تنها بهای استفاده از خدمات را میپردازند و نیازی به پرداخت هزینههای سرمایهای ( برای خرید سختافزار و نرمافزار) وجود ندارد.
۲- به دلیل ارتباط مستقیم کاربر و شرکت سرویس دهنده، هزینههای مربوط به واسطه و نمایندهی فروش حذف میشود.
۳- هزینههای عملیاتی پایین برای سرویس دهنده ( به نسبت موارد مشابه)، باعث کاهش قیمت خدمات برای مشتری میشود.
- به لحاظ امنیت و بهروزرسانی
از آنجایی که محل نصب نرمافزارها در سرور میباشد؛ از این رو بهروزرسانی نرمافزارها توسط شرکت سرویس دهنده و بر روی سرور انجام میگیرد که از این لحاظ به سود کاربر است. همچنین به دلیل این که بهروزرسانی توسط سرویس دهنده و بر روی سرور صورت میگیرد، بدافزارها امکان نصب بر روی سیستم کاربر را نخواهند داشت.
- راحتی در استفاده
استفاده از فنآوری پردازش ابری برای کاربران بسیار آسان است. نیازی به نصب نرمافزار بر روی سیستم وجود ندارد و همه میتوانند به راحتی با آن کار کنند. برای استفاده از این فنآوری کاربر تنها به یک وسیله که قابلیت اتصال به اینترنت را داشته باشد و همچنین یک مرورگر اینترنتی نیاز دارد.
- عدم محدودیت مکانی، زمانی
در این فنآوری محدودیتهای زمانی و مکانی از میان رفتهاند. کاربر میتواند در هر مکان و در هر زمان به سرویس مورد نظر دسترسی داشته باشد. همچنین با هر وسیلهای، همچون: نتبوک، نوتبوک، تبلت و یا حتی تلفن همراه از سرویس خود استفاده کند.
- راحتی در به اشتراک گذاری منابع
چون محل ذخیرهی اطلاعات بر روی سرور میباشد، کاربر به راحتی میتواند اطلاعات و یا سرویس خود را برای هر کسی و در تمامی نقاط به اشتراک گذارد.
- نگهداری ایمن و راحت
همانطور که بیان شد به علت ذخیرهی اطلاعات بر روی سرور، نیازی به داشتن منابع ذخیره سازی اطلاعات همچون هارد دیسک وجود ندارد. همچنین به علت اینکه سرورها دارای فایلهای پشتیبان میباشند نگرانی در زمینهی از دست دادن اطلاعات وجود ندارد.
شکل ۵: مزایا و معایب پردازش ابری
معایب فنآوری پردازش ابری
- حفظ حریم خصوصی
شاید مهمترین دغدغهی کاربران در فنآوری پردازش ابری، حفظ حریم خصوصی آنها باشد. طرفداران حفظ حریم خصوصی بیشترین انتقاد را به این فنآوری وارد میکنند. زیرا شرکتهای سرویس دهنده به راحتی میتوانند به صورت قانونی و یا غیرقانونی بر اطلاعات کاربر نظارت داشته باشند.
- امنیت
این مورد در حقیقت برگرفته از حریم خصوصی میباشد. عدهای بر این باورند که امنیت در پردازش ابری حالتی نسبی دارد.
- نوظهور بودن
به این دلیل که این فنآوری یک نگرش جدید در دنیای مجازی به حساب میآید؛ اولا هنوز به صورت جامع و کامل مورد پذیرش قرار نگرفته است، همچنین توسعه دهندگان به صورت محتاطانه با آن برخورد میکنند.
- سختی در تغییر سرویس دهنده
چون اطلاعات در سرورهای یک شرکت ذخیره میشوند، در صورت تغییر سرویس دهنده، انتقال اطلاعات به صورت جامع کار سختی خواهد بود. البته این مورد شاید در آینده مرتفع گردد.
- هزینههای پهنای باند
شرکتهای ارائه دهندهی سرویس در حالی که با پردازش ابری در هزینههای تجهیزات و نرمافزار صرفهجویی میکنند، اما باید متحمل شارژ برای تامین پهنای باند شوند.
آیندهی پردازش ابری
عوامل اصلی فنآوری رایانش ابری شامل: فراگیری شبکهها به صورت بیسیم و پهنای باند، کاهش هزینهها برای مشتری و سرویس دهنده، بهبود رو به رشد نرمافزارهای اینترنتی خصوصا مرورگرها و همچنین تمامی موارد ذکر شده در مزیتهای این فنآوری، نشان دهندهی پتانسیل بالای رشد رایانش ابری در آیندهی نزدیک است. این فنآوری که هنوز دوران طفولیت خود را میگذراند در آینده نزدیک به یکی از فنآوریهای رایج در زندگی بشر تبدیل خواهد شد.
نظرات شما عزیزان: